package cn.yunhe.java.dao;

import cn.yunhe.java.pojo.SysRoles;
import com.github.pagehelper.Page;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface SysRolesMapper {
    int deleteByPrimaryKey(Integer roleId);

    int insert(SysRoles record);

    int insertSelective(SysRoles record);

    SysRoles selectByPrimaryKey(Integer roleId);

    int updateByPrimaryKeySelective(SysRoles record);

    int updateByPrimaryKey(SysRoles record);

    /**
     * 根据条件查询角色信息
     * @param roleName
     * @param roleStatus
     * @return
     */
    Page<SysRoles> queryByCondition(@Param("roleName") String roleName, @Param("roleStatus") Integer roleStatus);

    /**
     * 查询角色对应的权限项信息
     * @param pMenuId
     * @param roleId
     * @return
     */
    List<Map<String,Object>> queryRoleRights(@Param("pMenuId")Integer pMenuId, @Param("roleId") Integer roleId);

    /**
     * 根据菜单信息，来查询对应页面上的按钮信息
     * @param menu_id
     * @param roleId
     * @return
     */
    List<Map<String, Object>> queryRightsBtn(@Param("menuId") int menu_id, @Param("roleId") Integer roleId);

    /**
     * 删除角色原有的权限信息
     * @param roleId
     * @return
     */
    int deleteRoleRights(@Param("roleId") Integer roleId);

    /**
     * 保存角色对应的权限信息
     * @param roleId
     * @param rightsIds
     * @return
     */
    int insertRoleRights(@Param("roleId")Integer roleId, @Param("rightsIds") String[] rightsIds);
}